package merror

type ErrType byte

const (
	NullPointer    ErrType = iota //空指针
	TypeConversion                //类型转换错误
	Transboundary                 //索引越界
)

type Err struct {
	eType ErrType
	msg   string
}

func New(t ErrType, msg string) *Err {
	return &Err{
		eType: t,
		msg:   msg,
	}
}
func (e *Err) GetType() ErrType {
	return e.eType
}
func (e *Err) Is(t ErrType) bool {
	return e.eType == t
}
func (e *Err) panic() {
	panic(e.msg)
}

func (e *Err) Error() string {
	return e.msg
}
